// import 'dart:convert';
//
// // import 'package:flutter_duominuo/data/remote/user_info.dart';
// import 'package:shared_preferences/shared_preferences.dart';
//
// ///存储本地的一些配置,例如token,一些开关等
// class LocalStorage {
//   static const String _loginSessionMain = "loginsession_main";
//   static const String _loginAddressId = "address_id";
//   static const String _prefUserId = "pref_user_id";
//
//   static late SharedPreferences sp;
//
//   LocalStorage._internal();
//
//   static init() async {
//     sp = await SharedPreferences.getInstance();
//   }
//
//   static setAddressId(int? id) => sp.setInt(_loginAddressId, id ?? 0);
//
//   static getAddressId() => sp.getInt(_loginAddressId);
//
//   static setToken(String? token) =>
//       sp.setString(_loginSessionMain, token ?? "");
//
//   static getToken() => sp.getString(_loginSessionMain);
//
//   static setUserId(int userId) => sp.setInt(_prefUserId, userId);
//
//   static getUserId() => sp.getInt(_prefUserId);
//
//   // static setUserInfo(String? userId) => sp.setString(_prefUserId, userId ?? '');
//
//   static void setHistorySearchList(List<String> list) =>
//       sp.setStringList(getKeyByUserId('_search_history'), list);
//
//   static List<String> getHistorySearchList() =>
//       sp.getStringList(getKeyByUserId('_search_history')) ?? [];
//
//   static String getKeyByUserId(String key) {
//     return (getUserId() ?? '').toString() + key;
//   }
//
//   // // 存储JSON数组
//   // static void setUserInfoData(UserInfo jsonArray) async {
//   //   String jsonArrayString = jsonEncode(jsonArray);
//   //   sp.setString('jsonArray', jsonArrayString);
//   // }
//
//   // // 读取JSON数组
//   // static dynamic getUserInfoData() {
//   //   String jsonArrayString = sp.getString('jsonArray') ?? '[]';
//   //   print('jsonArrayString==>$jsonArrayString');
//   //   return jsonDecode(jsonArrayString);
//   // }
// }
//


import 'package:shared_preferences/shared_preferences.dart';

class SharedPreferencesManager {
  static SharedPreferencesManager? _instance;
  late SharedPreferences _prefs;

  // 私有构造函数，确保只能在类内部实例化
  SharedPreferencesManager._internal();

  // 工厂构造函数，返回单例实例
  factory SharedPreferencesManager() {
    if (_instance == null) {
      _instance = SharedPreferencesManager._internal();
    }
    return _instance!;
  }

  // 初始化SharedPreferences
  Future<void> init() async {
    _prefs = await SharedPreferences.getInstance();
  }

  // 获取token
  String getToken() {
    return _prefs.getString('token') ?? '';
  }

  // 设置token
  Future<void> setToken(String token) async {
    await _prefs.setString('token', token);
  }
}
